package com.savare.activity.fragment;

import java.util.ArrayList;
import java.util.List;

import com.savare.R;
import com.savare.adapter.ItemUniversalAdapter;
import com.savare.banco.funcoesSql.TelefoneSql;
import com.savare.beans.TelefoneBeans;
import com.savare.funcoes.FuncoesPersonalizadas;
import com.savare.funcoes.rotinas.TelefoneRotinas;

import android.content.ContentValues;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;

public class ClienteCadastroTelefoneFragment extends Fragment {
	
	private View viewDados;
	private ListView listViewTelefones;
	private ItemUniversalAdapter adapterTelefone;
	private EditText editTelefone,
					 editDdd;
	private Button buttonAdicionar;
	private TextWatcher telefoneMask;
	private String idPessoa;
	public static final String KEY_ID_PESSOA = "ID_PESSOA";
	

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		
		viewDados = inflater.inflate(R.layout.fragment_cliente_cadastro_telefone, container, false);
		
		/**
		 * Pega valores passados por parametro de outra Activity
		 */
		Bundle parametro = getArguments();
		
		if(parametro != null){
			idPessoa = parametro.getString(KEY_ID_PESSOA);
		}
		
		recuperarCamposTela();
		
		carragaListaTelefones();
		
		// Armazene seus TextWatcher para posterior uso
        telefoneMask = FuncoesPersonalizadas.insertMascara("####-####", editTelefone);
        editTelefone.addTextChangedListener(telefoneMask);
        
        buttonAdicionar.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				ContentValues telefone = new ContentValues();
				telefone.put("ID_CFAFONES", idPessoa);
				telefone.put("ID_CFACLIFO", idPessoa);
				telefone.put("DDD", editDdd.getText().toString());
				telefone.put("FONE", editTelefone.getText().toString());
				
				TelefoneSql telefoneSql = new TelefoneSql(getActivity());
				if(telefoneSql.insert(telefone) > 0){
					
					carragaListaTelefones();
				}
			}
		});
		
		return viewDados;
	}
	
	
	private void recuperarCamposTela(){
		listViewTelefones = (ListView) viewDados.findViewById(R.id.fragment_cliente_cadastro_telefone_listView_lista_telefone);
		editTelefone = (EditText) viewDados.findViewById(R.id.fragment_cliente_cadastro_telefone_edit_telefone);
		editDdd = (EditText) viewDados.findViewById(R.id.fragment_cliente_cadastro_telefone_edit_ddd);
		buttonAdicionar = (Button) viewDados.findViewById(R.id.fragment_cliente_cadastro_telefone_button_adicionar);
	}
	
	
	private void carragaListaTelefones(){
		TelefoneRotinas telefoneRotinas = new TelefoneRotinas(getActivity());
		
		List<TelefoneBeans> listaTelefone = new ArrayList<TelefoneBeans>();
		listaTelefone = telefoneRotinas.listaTelefone("ID_CFACLIFO = " + idPessoa);
		
		if(listaTelefone != null && listaTelefone.size() > 0){
			adapterTelefone = new ItemUniversalAdapter(getActivity(), ItemUniversalAdapter.TELEFONE);
			
			adapterTelefone.setListaTelefone(listaTelefone);
			listViewTelefones.setAdapter(adapterTelefone);
		}
	}
}
